In several search systems, such as current product search systems, two search interfaces are often provided: keyword search and structural search. In a keyword search for a particular type of product, for example, a user inputs a query that includes one or more terms and the system retrieves products based on term matching between the input query and product names or product descriptions. In a structural search, the user's intention is specified by product attributes and the corresponding attribute values. For example, a user can search for digital cameras by brand, price range, megapixel numbers, etc., and obtain product-related results. However, the above two approaches have some drawbacks. Firstly, in many cases, keywords are not sufficient to fully express a user's shopping needs. Secondly, some product knowledge is necessary when structural search functionality is used. For example, when a user searches for digital cameras based on an “ImagePixel” attribute, some prior knowledge about this attribute and its possible values is needed. Thus, when used for product searches, for example, both keyword and structural search techniques can be relatively complex and may not produce search results that satisfy a user's needs.
The discussion above is merely provided for general background information and is not intended to be used as an aid in determining the scope of the claimed subject matter.